package tests;

import utils.Node;

public class TreeConstants {
	public static Node configuration;
	public static Node rule1, rule2, rule3, rule4;
	
	public static void init()
	{
		Node T1 = new Node(1, "T", null, null);
		Node b2 = new Node(2, "b", T1, null);
		Node A5 = new Node(5, "A", b2, null);
		Node c4 = new Node(4, "c", b2, null);
		Node B8 = new Node(8, "B", c4, null);
		Node f7 = new Node(7, "f", c4, null);
		Node c11 = new Node(11, "c", B8, null);
		Node t12 = new Node(12, "t", B8, null);
		
		Node a3 = new Node(3, "a", T1, null);
		Node b6 = new Node(6, "b", a3, null);
		Node a9 = new Node(9, "a", b6, null);
		Node D10 = new Node(10, "D", b6, null);
		Node b13 = new Node(13, "b", a9, null);
		Node E17 = new Node(17, "E", b13, null);
		Node F18 = new Node(18, "F", b13, null);
		Node c19 = new Node(19, "c", b13, null);
		Node c14 = new Node(14, "c", a9, null);
		Node c15 = new Node(15, "c", D10, null);
		Node G21 = new Node(21, "G", c15, null);
		Node t22 = new Node(22, "t", c15, null);
		Node H16 = new Node(16, "H", D10, null);
		Node f20 = new Node(20, "f", c15, null);

		
		T1.children.add(b2);
		T1.children.add(a3);
		
		b2.children.add(c4);
		b2.children.add(A5);

		c4.children.add(f7);
		c4.children.add(B8);

		B8.children.add(c11);
		B8.children.add(t12);
		
		
		a3.children.add(b6);
		
		b6.children.add(a9);
		b6.children.add(D10);
		
		a9.children.add(b13);
		a9.children.add(c14);
		
		b13.children.add(E17);
		b13.children.add(F18);
		b13.children.add(c19);
		
		D10.children.add(c15);
		D10.children.add(H16);
		
		c15.children.add(f20);
		c15.children.add(G21);
		c15.children.add(t22);
		
		
		configuration = T1;
		
		
		
		
		Node b1 = new Node(1, "b", null, null);
		Node a2 = new Node(2, "a", b1, null);
		Node E3 = new Node(3, "E", a2, null);
		Node c10 = new Node(10, "c", a2, null);
		Node D5 = new Node(5, "D", b1, null);
		Node c6 = new Node(6, "c", D5, null);
		Node f11 = new Node(11, "f", c6, null);
		Node t8 = new Node(8, "t", c6, null);
		
		b1.children.add(a2);
		b1.children.add(D5);
		
		a2.children.add(E3);
		a2.children.add(c10);
		
		D5.children.add(c6);
		
		c6.children.add(f11);
		c6.children.add(t8);
		
		rule1 = b1;
		
		
		/** TREE
		 * 			a
		 * 			|
		 * 			b
		 */
		Node a111 = new Node(111, "a", null, null);
		Node b112 = new Node(112, "b", a111, null);
		a111.children.add(b112);
		rule2 = a111;
		
		
		
		/** TREE
		 *              a
		 *             / \
		 *            f   t
		 */
		Node a400 = new Node(400, "a", null, null);
		Node f401 = new Node(401, "f", a400, null);
		Node t402 = new Node(402, "t", a400, null);
		
		a400.children.add(f401);
		a400.children.add(t402);
		
		rule3 = a400;
		
		
		/** TREE
		 * 			a
		 */
		
		Node a500 = new Node(500, "a", null, null);
		rule4 = a500;
	}
	
}
